package template

import (
	"go-quick/interface/itemplate"
	"sync"
)

type (
	// TemplateSet
	TemplateSet struct {
		name    string
		loaders []itemplate.ILoader
		Globals Context
		Debug   bool
		//Options              *Options
		firstTemplateCreated bool
		bannedTags           map[string]bool
		bannedFilters        map[string]bool

		// Template cache (for FromCache())
		templateCache      map[string]*Template
		templateCacheMutex sync.Mutex
	}
)

func (ts *TemplateSet) FromString(s string) (itemplate.ITemplate, error) {
	//TODO implement me
	panic("implement me")
}

func (ts *TemplateSet) FromBytes(bytes []byte) (itemplate.ITemplate, error) {
	//TODO implement me
	panic("implement me")
}

func (ts *TemplateSet) FromFile(s string) (itemplate.ITemplate, error) {
	//TODO implement me
	panic("implement me")
}

func (ts *TemplateSet) RenderTemplateString(s string, ctx itemplate.IContext) (string, error) {
	//TODO implement me
	panic("implement me")
}

func (ts *TemplateSet) RenderTemplateBytes(b []byte, ctx itemplate.IContext) (string, error) {
	//TODO implement me
	panic("implement me")
}

func (ts *TemplateSet) RenderTemplateFile(fn string, ctx itemplate.IContext) (string, error) {
	//TODO implement me
	panic("implement me")
}
